<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>.fcm</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
body {
  margin: 5px 5px 5px 5px;
  background-color: #ffffff;
}
/* ========== Text Styles ========== */
hr { color: #000000}
body, table /* Normal text */
{
 font-size: 10pt;
 font-family: 'Arial', 'Helvetica', sans-serif;
 font-style: normal;
 font-weight: normal;
 color: #000000;
 text-decoration: none;
 ;
}
span.rvts1 /* Heading */
{
 font-weight: bold;
 color: #0000ff;
}
span.rvts2 /* Subheading */
{
 font-weight: bold;
 color: #000080;
}
span.rvts3 /* Keywords */
{
 font-style: italic;
 color: #800000;
}
a.rvts4, span.rvts4 /* Jump 1 */
{
 color: #008000;
 text-decoration: underline;
}
a.rvts5, span.rvts5 /* Jump 2 */
{
 color: #008000;
 text-decoration: underline;
}
span.rvts6 /* Font Hint */
{
 color: #808080;
}
span.rvts7 /* Font Hint Title */
{
 font-size: 15pt;
 font-family: 'Tahoma', 'Geneva', sans-serif;
 font-weight: bold;
 color: #404040;
}
span.rvts8 /* Font Hint Bold */
{
 font-weight: bold;
 color: #808080;
}
span.rvts9 /* Font Hint Italic */
{
 font-style: italic;
 color: #808080;
}
span.rvts10
{
 font-size: 18pt;
}
span.rvts11 /* Font Style */
{
 font-size: 16pt;
 font-family: 'Tahoma', 'Geneva', sans-serif;
 color: #ffffff;
}
span.rvts12 /* Font Style */
{
 font-family: 'MS Sans Serif', 'Geneva', sans-serif;
 color: #808080;
}
span.rvts13 /* Font Style */
{
 font-family: 'Verdana', 'Geneva', sans-serif;
 font-style: italic;
 color: #c0c0c0;
}
a.rvts14, span.rvts14 /* Font Style */
{
 font-family: 'Verdana', 'Geneva', sans-serif;
 font-style: italic;
 color: #6666ff;
 text-decoration: underline;
}
/* ========== Para Styles ========== */
p,ul,ol /* Paragraph Style */
{
 text-align: left;
 text-indent: 0px;
 padding: 0px 0px 0px 0px;
 margin: 0px 0px 0px 0px;
}
.rvps1 /* Centered */
{
 text-align: center;
}
.rvps2 /* Paragraph Style */
{
 background: #9fbed0;
 margin: 0px 0px 20px 0px;
}
.rvps3 /* Paragraph Style */
{
 text-align: center;
 background: #e4e4e4;
 margin: 20px 0px 0px 0px;
}
.rvps4 /* Paragraph Style */
{
 border-color: #c0c0c0;
 border-style: solid;
 border-width: 1px;
 border-right: none;
 border-bottom: none;
 border-left: none;
 background: #ffffff;
 padding: 3px 0px 0px 0px;
 margin: 27px 0px 0px 0px;
}
--></style>
<script type="text/javascript">if(top.frames.length == 0) { top.location.href="../fceux-2.0.2.htm?{A97497E2-9F54-4249-BE98-AF3573CEA50A}.htm"; }</script>
<meta name="generator" content="HelpNDoc Free"></head>
<body>

<p class=rvps2><span class=rvts11>.fcm</span></p>
<p><span class=rvts10>FCE Ultra Movie File Format</span></p>
<p> &nbsp; &nbsp; &nbsp; &nbsp;- Updated March 22, 2004</p>
<p><br></p>
<p>The FCM file format is a somewhat "joined" file format.&nbsp; The first part of a FCM</p>
<p>file will contain an FCS-format state save.&nbsp; After this data, the FCM-specific data</p>
<p>begins, which is being referred to from this point.</p>
<p><br></p>
<p><br></p>
<p>Currently, the only supported input scheme for a FCM is four joysticks.</p>
<p><br></p>
<p>The FCM data consists of a stream of joystick commands:</p>
<p><br></p>
<p> &nbsp; &nbsp; &nbsp; &nbsp;dLLjjbbb</p>
<p><br></p>
<p> &nbsp; &nbsp; &nbsp; &nbsp;d&nbsp; = Dummy update, if set.&nbsp; Used to reset frame timestamp.</p>
<p> &nbsp; &nbsp; &nbsp; &nbsp;LL&nbsp; = timestamp length, in bytes(maximum of 3 bytes).</p>
<p> &nbsp; &nbsp; &nbsp; &nbsp;jj&nbsp; = Which joystick(0-3).</p>
<p> &nbsp; &nbsp; &nbsp; &nbsp;bbb = Which button(0-7).</p>
<p><br></p>
<p> &nbsp; &nbsp; &nbsp; &nbsp;If the dummy update bit is set, a command can also have occurred.&nbsp; Look at the</p>
<p> &nbsp; &nbsp; &nbsp; &nbsp;lower 5 bits:</p>
<p> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0 &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp; &nbsp;Just a dummy update.</p>
<p> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1 &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp; &nbsp;Reset</p>
<p> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2 &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp; &nbsp;Power</p>
<p><br></p>
<p> &nbsp; &nbsp; &nbsp; &nbsp;The timestamp is stored after the joystick command, in LSB-first format.&nbsp; It is</p>
<p> &nbsp; &nbsp; &nbsp; &nbsp;the number of frames since the last event.&nbsp; A timestamp length of "0" is valid, to</p>
<p> &nbsp; &nbsp; &nbsp; &nbsp;be used when several different buttons need to change state at the same time(same frame,</p>
<p> &nbsp; &nbsp; &nbsp; &nbsp;at least).</p>
<p><br></p>
<p class=rvps3><span class=rvts12>2008</span></p>
<p class=rvps4><span class=rvts13>This help file has been generated by the freeware version of </span><a class=rvts14 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>

</body></html>
